// $ANTLR 3.2 Sep 23, 2009 14:05:07 E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g 2011-09-18 21:17:56

package lua.compiler.generated;

import org.antlr.runtime.BaseRecognizer;
import org.antlr.runtime.CharStream;
import org.antlr.runtime.DFA;
import org.antlr.runtime.EarlyExitException;
import org.antlr.runtime.IntStream;
import org.antlr.runtime.Lexer;
import org.antlr.runtime.MismatchedSetException;
import org.antlr.runtime.NoViableAltException;
import org.antlr.runtime.RecognitionException;
import org.antlr.runtime.RecognizerSharedState;

public class LuaLexer extends Lexer {
	public static final int LT = 23;
	public static final int DEF = 5;
	public static final int MOD = 20;
	public static final int DO = 35;
	public static final int FLOAT = 31;
	public static final int NOT = 29;
	public static final int AND = 21;
	public static final int EOF = -1;
	public static final int BREAK = 37;
	public static final int LPAREN = 7;
	public static final int IF = 10;
	public static final int RPAREN = 8;
	public static final int NAME = 6;
	public static final int THEN = 36;
	public static final int EXP = 32;
	public static final int HEX = 33;
	public static final int COMMA = 13;
	public static final int RETURN = 12;
	public static final int PLUS = 15;
	public static final int EQ = 27;
	public static final int COMMENT = 40;
	public static final int GE = 26;
	public static final int CONCAT = 17;
	public static final int LINE_COMMENT = 41;
	public static final int ELSE = 11;
	public static final int QUOT = 39;
	public static final int INT = 30;
	public static final int MINUS = 16;
	public static final int MUL = 18;
	public static final int NEQ = 28;
	public static final int WS = 42;
	public static final int NIL = 38;
	public static final int NEWLINE = 43;
	public static final int OR = 22;
	public static final int ASSIGN = 4;
	public static final int GT = 25;
	public static final int CALL = 14;
	public static final int DIV = 19;
	public static final int END = 9;
	public static final int LE = 24;
	public static final int STRING = 34;

	// delegates
	// delegators

	public LuaLexer() {
		;
	}

	public LuaLexer(CharStream input) {
		this(input, new RecognizerSharedState());
	}

	public LuaLexer(CharStream input, RecognizerSharedState state) {
		super(input, state);

	}

	public String getGrammarFileName() {
		return "E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g";
	}

	// $ANTLR start "DO"
	public final void mDO() throws RecognitionException {
		try {
			int _type = DO;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:135:3: ( 'do' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:135:5: 'do'
			{
				match("do");

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "DO"

	// $ANTLR start "END"
	public final void mEND() throws RecognitionException {
		try {
			int _type = END;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:136:4: ( 'end' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:136:6: 'end'
			{
				match("end");

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "END"

	// $ANTLR start "IF"
	public final void mIF() throws RecognitionException {
		try {
			int _type = IF;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:137:3: ( 'if' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:137:5: 'if'
			{
				match("if");

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "IF"

	// $ANTLR start "THEN"
	public final void mTHEN() throws RecognitionException {
		try {
			int _type = THEN;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:138:5: ( 'then' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:138:7: 'then'
			{
				match("then");

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "THEN"

	// $ANTLR start "ELSE"
	public final void mELSE() throws RecognitionException {
		try {
			int _type = ELSE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:139:5: ( 'else' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:139:7: 'else'
			{
				match("else");

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "ELSE"

	// $ANTLR start "DEF"
	public final void mDEF() throws RecognitionException {
		try {
			int _type = DEF;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:140:4: ( 'def' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:140:6: 'def'
			{
				match("def");

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "DEF"

	// $ANTLR start "RETURN"
	public final void mRETURN() throws RecognitionException {
		try {
			int _type = RETURN;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:141:7: ( 'return' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:141:9: 'return'
			{
				match("return");

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "RETURN"

	// $ANTLR start "BREAK"
	public final void mBREAK() throws RecognitionException {
		try {
			int _type = BREAK;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:142:6: ( 'break' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:142:8: 'break'
			{
				match("break");

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "BREAK"

	// $ANTLR start "NIL"
	public final void mNIL() throws RecognitionException {
		try {
			int _type = NIL;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:143:4: ( 'nil' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:143:6: 'nil'
			{
				match("nil");

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "NIL"

	// $ANTLR start "CALL"
	public final void mCALL() throws RecognitionException {
		try {
			int _type = CALL;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:144:5: ( 'call' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:144:7: 'call'
			{
				match("call");

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "CALL"

	// $ANTLR start "ASSIGN"
	public final void mASSIGN() throws RecognitionException {
		try {
			int _type = ASSIGN;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:147:7: ( '=' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:147:9: '='
			{
				match('=');

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "ASSIGN"

	// $ANTLR start "LPAREN"
	public final void mLPAREN() throws RecognitionException {
		try {
			int _type = LPAREN;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:148:7: ( '(' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:148:9: '('
			{
				match('(');

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "LPAREN"

	// $ANTLR start "RPAREN"
	public final void mRPAREN() throws RecognitionException {
		try {
			int _type = RPAREN;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:149:7: ( ')' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:149:9: ')'
			{
				match(')');

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "RPAREN"

	// $ANTLR start "QUOT"
	public final void mQUOT() throws RecognitionException {
		try {
			int _type = QUOT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:150:5: ( '\"' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:150:7: '\"'
			{
				match('\"');

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "QUOT"

	// $ANTLR start "COMMA"
	public final void mCOMMA() throws RecognitionException {
		try {
			int _type = COMMA;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:151:6: ( ',' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:151:8: ','
			{
				match(',');

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "COMMA"

	// $ANTLR start "AND"
	public final void mAND() throws RecognitionException {
		try {
			int _type = AND;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:152:4: ( 'and' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:152:6: 'and'
			{
				match("and");

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "AND"

	// $ANTLR start "OR"
	public final void mOR() throws RecognitionException {
		try {
			int _type = OR;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:153:3: ( 'or' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:153:5: 'or'
			{
				match("or");

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "OR"

	// $ANTLR start "NOT"
	public final void mNOT() throws RecognitionException {
		try {
			int _type = NOT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:154:4: ( 'not' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:154:6: 'not'
			{
				match("not");

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "NOT"

	// $ANTLR start "PLUS"
	public final void mPLUS() throws RecognitionException {
		try {
			int _type = PLUS;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:155:5: ( '+' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:155:7: '+'
			{
				match('+');

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "PLUS"

	// $ANTLR start "MINUS"
	public final void mMINUS() throws RecognitionException {
		try {
			int _type = MINUS;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:156:6: ( '-' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:156:8: '-'
			{
				match('-');

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "MINUS"

	// $ANTLR start "MUL"
	public final void mMUL() throws RecognitionException {
		try {
			int _type = MUL;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:157:4: ( '*' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:157:6: '*'
			{
				match('*');

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "MUL"

	// $ANTLR start "DIV"
	public final void mDIV() throws RecognitionException {
		try {
			int _type = DIV;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:158:4: ( '/' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:158:6: '/'
			{
				match('/');

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "DIV"

	// $ANTLR start "MOD"
	public final void mMOD() throws RecognitionException {
		try {
			int _type = MOD;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:159:4: ( '%' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:159:6: '%'
			{
				match('%');

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "MOD"

	// $ANTLR start "LT"
	public final void mLT() throws RecognitionException {
		try {
			int _type = LT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:160:3: ( '<' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:160:5: '<'
			{
				match('<');

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "LT"

	// $ANTLR start "LE"
	public final void mLE() throws RecognitionException {
		try {
			int _type = LE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:161:3: ( '<=' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:161:5: '<='
			{
				match("<=");

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "LE"

	// $ANTLR start "GT"
	public final void mGT() throws RecognitionException {
		try {
			int _type = GT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:162:3: ( '>' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:162:5: '>'
			{
				match('>');

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "GT"

	// $ANTLR start "GE"
	public final void mGE() throws RecognitionException {
		try {
			int _type = GE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:163:3: ( '>=' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:163:5: '>='
			{
				match(">=");

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "GE"

	// $ANTLR start "EQ"
	public final void mEQ() throws RecognitionException {
		try {
			int _type = EQ;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:164:3: ( '==' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:164:5: '=='
			{
				match("==");

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "EQ"

	// $ANTLR start "NEQ"
	public final void mNEQ() throws RecognitionException {
		try {
			int _type = NEQ;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:165:4: ( '!=' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:165:6: '!='
			{
				match("!=");

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "NEQ"

	// $ANTLR start "CONCAT"
	public final void mCONCAT() throws RecognitionException {
		try {
			int _type = CONCAT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:166:8: ( '..' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:166:10: '..'
			{
				match("..");

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "CONCAT"

	// $ANTLR start "NAME"
	public final void mNAME() throws RecognitionException {
		try {
			int _type = NAME;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:170:2: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( options {greedy=true; } : 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:170:4: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( options {greedy=true; } : 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
			{
				if ((input.LA(1) >= 'A' && input.LA(1) <= 'Z')
						|| input.LA(1) == '_'
						|| (input.LA(1) >= 'a' && input.LA(1) <= 'z')) {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:170:27: ( options {greedy=true; } : 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
				loop1: do {
					int alt1 = 5;
					switch (input.LA(1)) {
					case 'a':
					case 'b':
					case 'c':
					case 'd':
					case 'e':
					case 'f':
					case 'g':
					case 'h':
					case 'i':
					case 'j':
					case 'k':
					case 'l':
					case 'm':
					case 'n':
					case 'o':
					case 'p':
					case 'q':
					case 'r':
					case 's':
					case 't':
					case 'u':
					case 'v':
					case 'w':
					case 'x':
					case 'y':
					case 'z': {
						alt1 = 1;
					}
						break;
					case 'A':
					case 'B':
					case 'C':
					case 'D':
					case 'E':
					case 'F':
					case 'G':
					case 'H':
					case 'I':
					case 'J':
					case 'K':
					case 'L':
					case 'M':
					case 'N':
					case 'O':
					case 'P':
					case 'Q':
					case 'R':
					case 'S':
					case 'T':
					case 'U':
					case 'V':
					case 'W':
					case 'X':
					case 'Y':
					case 'Z': {
						alt1 = 2;
					}
						break;
					case '_': {
						alt1 = 3;
					}
						break;
					case '0':
					case '1':
					case '2':
					case '3':
					case '4':
					case '5':
					case '6':
					case '7':
					case '8':
					case '9': {
						alt1 = 4;
					}
						break;

					}

					switch (alt1) {
					case 1:
						// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:170:51: 'a' .. 'z'
					{
						matchRange('a', 'z');

					}
						break;
					case 2:
						// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:170:60: 'A' .. 'Z'
					{
						matchRange('A', 'Z');

					}
						break;
					case 3:
						// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:170:69: '_'
					{
						match('_');

					}
						break;
					case 4:
						// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:170:73: '0' .. '9'
					{
						matchRange('0', '9');

					}
						break;

					default:
						break loop1;
					}
				} while (true);

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "NAME"

	// $ANTLR start "INT"
	public final void mINT() throws RecognitionException {
		try {
			int _type = INT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:174:2: ( ( '0' .. '9' )+ )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:174:4: ( '0' .. '9' )+
			{
				// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:174:4: ( '0' .. '9' )+
				int cnt2 = 0;
				loop2: do {
					int alt2 = 2;
					int LA2_0 = input.LA(1);

					if (((LA2_0 >= '0' && LA2_0 <= '9'))) {
						alt2 = 1;
					}

					switch (alt2) {
					case 1:
						// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:174:5: '0' .. '9'
					{
						matchRange('0', '9');

					}
						break;

					default:
						if (cnt2 >= 1)
							break loop2;
						EarlyExitException eee = new EarlyExitException(2,
								input);
						throw eee;
					}
					cnt2++;
				} while (true);

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "INT"

	// $ANTLR start "FLOAT"
	public final void mFLOAT() throws RecognitionException {
		try {
			int _type = FLOAT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:178:2: ( INT '.' INT )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:178:4: INT '.' INT
			{
				mINT();
				match('.');
				mINT();

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "FLOAT"

	// $ANTLR start "EXP"
	public final void mEXP() throws RecognitionException {
		try {
			int _type = EXP;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:183:2: ( ( INT | FLOAT ) ( 'E' | 'e' ) ( '-' )? INT )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:183:4: ( INT | FLOAT ) ( 'E' | 'e' ) ( '-' )? INT
			{
				// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:183:4: ( INT | FLOAT )
				int alt3 = 2;
				alt3 = dfa3.predict(input);
				switch (alt3) {
				case 1:
					// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:183:5: INT
				{
					mINT();

				}
					break;
				case 2:
					// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:183:11: FLOAT
				{
					mFLOAT();

				}
					break;

				}

				if (input.LA(1) == 'E' || input.LA(1) == 'e') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:183:28: ( '-' )?
				int alt4 = 2;
				int LA4_0 = input.LA(1);

				if ((LA4_0 == '-')) {
					alt4 = 1;
				}
				switch (alt4) {
				case 1:
					// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:183:29: '-'
				{
					match('-');

				}
					break;

				}

				mINT();

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "EXP"

	// $ANTLR start "HEX"
	public final void mHEX() throws RecognitionException {
		try {
			int _type = HEX;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:188:2: ( '0x' ( '0' .. '9' | 'a' .. 'f' )+ )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:188:4: '0x' ( '0' .. '9' | 'a' .. 'f' )+
			{
				match("0x");

				// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:188:9: ( '0' .. '9' | 'a' .. 'f' )+
				int cnt5 = 0;
				loop5: do {
					int alt5 = 2;
					int LA5_0 = input.LA(1);

					if (((LA5_0 >= '0' && LA5_0 <= '9') || (LA5_0 >= 'a' && LA5_0 <= 'f'))) {
						alt5 = 1;
					}

					switch (alt5) {
					case 1:
						// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:
					{
						if ((input.LA(1) >= '0' && input.LA(1) <= '9')
								|| (input.LA(1) >= 'a' && input.LA(1) <= 'f')) {
							input.consume();

						} else {
							MismatchedSetException mse = new MismatchedSetException(
									null, input);
							recover(mse);
							throw mse;
						}

					}
						break;

					default:
						if (cnt5 >= 1)
							break loop5;
						EarlyExitException eee = new EarlyExitException(5,
								input);
						throw eee;
					}
					cnt5++;
				} while (true);

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "HEX"

	// $ANTLR start "STRING"
	public final void mSTRING() throws RecognitionException {
		try {
			int _type = STRING;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:193:2: ( QUOT (~ ( '\\\"' ) )* QUOT )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:193:4: QUOT (~ ( '\\\"' ) )* QUOT
			{
				mQUOT();
				// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:193:9: (~ ( '\\\"' ) )*
				loop6: do {
					int alt6 = 2;
					int LA6_0 = input.LA(1);

					if (((LA6_0 >= '\u0000' && LA6_0 <= '!') || (LA6_0 >= '#' && LA6_0 <= '\uFFFF'))) {
						alt6 = 1;
					}

					switch (alt6) {
					case 1:
						// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:193:10: ~ ( '\\\"' )
					{
						if ((input.LA(1) >= '\u0000' && input.LA(1) <= '!')
								|| (input.LA(1) >= '#' && input.LA(1) <= '\uFFFF')) {
							input.consume();

						} else {
							MismatchedSetException mse = new MismatchedSetException(
									null, input);
							recover(mse);
							throw mse;
						}

					}
						break;

					default:
						break loop6;
					}
				} while (true);

				mQUOT();

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "STRING"

	// $ANTLR start "COMMENT"
	public final void mCOMMENT() throws RecognitionException {
		try {
			int _type = COMMENT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:199:5: ( '--[[' ( options {greedy=false; } : . )* ']]' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:199:9: '--[[' ( options {greedy=false; } : . )* ']]'
			{
				match("--[[");

				// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:199:16: ( options {greedy=false; } : . )*
				loop7: do {
					int alt7 = 2;
					int LA7_0 = input.LA(1);

					if ((LA7_0 == ']')) {
						int LA7_1 = input.LA(2);

						if ((LA7_1 == ']')) {
							alt7 = 2;
						} else if (((LA7_1 >= '\u0000' && LA7_1 <= '\\') || (LA7_1 >= '^' && LA7_1 <= '\uFFFF'))) {
							alt7 = 1;
						}

					} else if (((LA7_0 >= '\u0000' && LA7_0 <= '\\') || (LA7_0 >= '^' && LA7_0 <= '\uFFFF'))) {
						alt7 = 1;
					}

					switch (alt7) {
					case 1:
						// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:199:44: .
					{
						matchAny();

					}
						break;

					default:
						break loop7;
					}
				} while (true);

				match("]]");

				_channel = HIDDEN;

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "COMMENT"

	// $ANTLR start "LINE_COMMENT"
	public final void mLINE_COMMENT() throws RecognitionException {
		try {
			int _type = LINE_COMMENT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:204:5: ( '--' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:204:7: '--' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n'
			{
				match("--");

				// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:204:12: (~ ( '\\n' | '\\r' ) )*
				loop8: do {
					int alt8 = 2;
					int LA8_0 = input.LA(1);

					if (((LA8_0 >= '\u0000' && LA8_0 <= '\t')
							|| (LA8_0 >= '\u000B' && LA8_0 <= '\f') || (LA8_0 >= '\u000E' && LA8_0 <= '\uFFFF'))) {
						alt8 = 1;
					}

					switch (alt8) {
					case 1:
						// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:204:12: ~ ( '\\n' | '\\r' )
					{
						if ((input.LA(1) >= '\u0000' && input.LA(1) <= '\t')
								|| (input.LA(1) >= '\u000B' && input.LA(1) <= '\f')
								|| (input.LA(1) >= '\u000E' && input.LA(1) <= '\uFFFF')) {
							input.consume();

						} else {
							MismatchedSetException mse = new MismatchedSetException(
									null, input);
							recover(mse);
							throw mse;
						}

					}
						break;

					default:
						break loop8;
					}
				} while (true);

				// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:204:26: ( '\\r' )?
				int alt9 = 2;
				int LA9_0 = input.LA(1);

				if ((LA9_0 == '\r')) {
					alt9 = 1;
				}
				switch (alt9) {
				case 1:
					// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:204:26: '\\r'
				{
					match('\r');

				}
					break;

				}

				match('\n');
				_channel = HIDDEN;

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "LINE_COMMENT"

	// $ANTLR start "WS"
	public final void mWS() throws RecognitionException {
		try {
			int _type = WS;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:208:5: ( ( ' ' | '\\t' | '\\u000C' ) )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:208:8: ( ' ' | '\\t' | '\\u000C' )
			{
				if (input.LA(1) == '\t' || input.LA(1) == '\f'
						|| input.LA(1) == ' ') {
					input.consume();

				} else {
					MismatchedSetException mse = new MismatchedSetException(
							null, input);
					recover(mse);
					throw mse;
				}

				_channel = HIDDEN;

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "WS"

	// $ANTLR start "NEWLINE"
	public final void mNEWLINE() throws RecognitionException {
		try {
			int _type = NEWLINE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:212:9: ( ( '\\r' )? '\\n' )
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:212:11: ( '\\r' )? '\\n'
			{
				// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:212:11: ( '\\r' )?
				int alt10 = 2;
				int LA10_0 = input.LA(1);

				if ((LA10_0 == '\r')) {
					alt10 = 1;
				}
				switch (alt10) {
				case 1:
					// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:212:12: '\\r'
				{
					match('\r');

				}
					break;

				}

				match('\n');
				_channel = HIDDEN;

			}

			state.type = _type;
			state.channel = _channel;
		} finally {
		}
	}

	// $ANTLR end "NEWLINE"

	public void mTokens() throws RecognitionException {
		// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:8: ( DO | END | IF | THEN | ELSE | DEF | RETURN | BREAK | NIL | CALL | ASSIGN | LPAREN | RPAREN | QUOT | COMMA | AND | OR | NOT | PLUS | MINUS | MUL | DIV | MOD | LT | LE | GT | GE | EQ | NEQ | CONCAT | NAME | INT | FLOAT | EXP | HEX | STRING | COMMENT | LINE_COMMENT | WS | NEWLINE )
		int alt11 = 40;
		alt11 = dfa11.predict(input);
		switch (alt11) {
		case 1:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:10: DO
		{
			mDO();

		}
			break;
		case 2:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:13: END
		{
			mEND();

		}
			break;
		case 3:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:17: IF
		{
			mIF();

		}
			break;
		case 4:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:20: THEN
		{
			mTHEN();

		}
			break;
		case 5:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:25: ELSE
		{
			mELSE();

		}
			break;
		case 6:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:30: DEF
		{
			mDEF();

		}
			break;
		case 7:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:34: RETURN
		{
			mRETURN();

		}
			break;
		case 8:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:41: BREAK
		{
			mBREAK();

		}
			break;
		case 9:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:47: NIL
		{
			mNIL();

		}
			break;
		case 10:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:51: CALL
		{
			mCALL();

		}
			break;
		case 11:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:56: ASSIGN
		{
			mASSIGN();

		}
			break;
		case 12:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:63: LPAREN
		{
			mLPAREN();

		}
			break;
		case 13:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:70: RPAREN
		{
			mRPAREN();

		}
			break;
		case 14:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:77: QUOT
		{
			mQUOT();

		}
			break;
		case 15:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:82: COMMA
		{
			mCOMMA();

		}
			break;
		case 16:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:88: AND
		{
			mAND();

		}
			break;
		case 17:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:92: OR
		{
			mOR();

		}
			break;
		case 18:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:95: NOT
		{
			mNOT();

		}
			break;
		case 19:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:99: PLUS
		{
			mPLUS();

		}
			break;
		case 20:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:104: MINUS
		{
			mMINUS();

		}
			break;
		case 21:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:110: MUL
		{
			mMUL();

		}
			break;
		case 22:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:114: DIV
		{
			mDIV();

		}
			break;
		case 23:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:118: MOD
		{
			mMOD();

		}
			break;
		case 24:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:122: LT
		{
			mLT();

		}
			break;
		case 25:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:125: LE
		{
			mLE();

		}
			break;
		case 26:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:128: GT
		{
			mGT();

		}
			break;
		case 27:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:131: GE
		{
			mGE();

		}
			break;
		case 28:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:134: EQ
		{
			mEQ();

		}
			break;
		case 29:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:137: NEQ
		{
			mNEQ();

		}
			break;
		case 30:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:141: CONCAT
		{
			mCONCAT();

		}
			break;
		case 31:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:148: NAME
		{
			mNAME();

		}
			break;
		case 32:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:153: INT
		{
			mINT();

		}
			break;
		case 33:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:157: FLOAT
		{
			mFLOAT();

		}
			break;
		case 34:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:163: EXP
		{
			mEXP();

		}
			break;
		case 35:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:167: HEX
		{
			mHEX();

		}
			break;
		case 36:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:171: STRING
		{
			mSTRING();

		}
			break;
		case 37:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:178: COMMENT
		{
			mCOMMENT();

		}
			break;
		case 38:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:186: LINE_COMMENT
		{
			mLINE_COMMENT();

		}
			break;
		case 39:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:199: WS
		{
			mWS();

		}
			break;
		case 40:
			// E:/agh/tk/compiler-repo/eclipse/LuaCompiler/src/lua/compiler/grammar/Lua.g:1:202: NEWLINE
		{
			mNEWLINE();

		}
			break;

		}

	}

	protected DFA3 dfa3 = new DFA3(this);
	protected DFA11 dfa11 = new DFA11(this);
	static final String DFA3_eotS = "\4\uffff";
	static final String DFA3_eofS = "\4\uffff";
	static final String DFA3_minS = "\1\60\1\56\2\uffff";
	static final String DFA3_maxS = "\1\71\1\145\2\uffff";
	static final String DFA3_acceptS = "\2\uffff\1\2\1\1";
	static final String DFA3_specialS = "\4\uffff}>";
	static final String[] DFA3_transitionS = { "\12\1",
			"\1\2\1\uffff\12\1\13\uffff\1\3\37\uffff\1\3", "", "" };

	static final short[] DFA3_eot = DFA.unpackEncodedString(DFA3_eotS);
	static final short[] DFA3_eof = DFA.unpackEncodedString(DFA3_eofS);
	static final char[] DFA3_min = DFA
			.unpackEncodedStringToUnsignedChars(DFA3_minS);
	static final char[] DFA3_max = DFA
			.unpackEncodedStringToUnsignedChars(DFA3_maxS);
	static final short[] DFA3_accept = DFA.unpackEncodedString(DFA3_acceptS);
	static final short[] DFA3_special = DFA.unpackEncodedString(DFA3_specialS);
	static final short[][] DFA3_transition;

	static {
		int numStates = DFA3_transitionS.length;
		DFA3_transition = new short[numStates][];
		for (int i = 0; i < numStates; i++) {
			DFA3_transition[i] = DFA.unpackEncodedString(DFA3_transitionS[i]);
		}
	}

	class DFA3 extends DFA {

		public DFA3(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 3;
			this.eot = DFA3_eot;
			this.eof = DFA3_eof;
			this.min = DFA3_min;
			this.max = DFA3_max;
			this.accept = DFA3_accept;
			this.special = DFA3_special;
			this.transition = DFA3_transition;
		}

		public String getDescription() {
			return "183:4: ( INT | FLOAT )";
		}
	}

	static final String DFA11_eotS = "\1\uffff\10\31\1\52\2\uffff\1\53\1\uffff\2\31\1\uffff\1\60\3\uffff"
			+ "\1\62\1\64\3\uffff\2\66\2\uffff\1\71\3\31\1\75\6\31\4\uffff\1\31"
			+ "\1\105\13\uffff\1\111\1\112\1\31\1\uffff\3\31\1\117\1\120\1\31\1"
			+ "\122\3\uffff\1\124\2\uffff\1\125\1\126\2\31\2\uffff\1\131\5\uffff"
			+ "\1\31\1\137\2\uffff\1\107\2\uffff\1\142\2\uffff\1\140\1\uffff";
	static final String DFA11_eofS = "\143\uffff";
	static final String DFA11_minS = "\1\11\1\145\1\154\1\146\1\150\1\145\1\162\1\151\1\141\1\75\2\uffff"
			+ "\1\0\1\uffff\1\156\1\162\1\uffff\1\55\3\uffff\2\75\3\uffff\2\56"
			+ "\2\uffff\1\60\1\146\1\144\1\163\1\60\1\145\1\164\1\145\1\154\1\164"
			+ "\1\154\4\uffff\1\144\1\60\1\0\7\uffff\1\60\2\uffff\2\60\1\145\1"
			+ "\uffff\1\156\1\165\1\141\2\60\1\154\1\60\1\uffff\1\0\1\uffff\1\60"
			+ "\2\uffff\2\60\1\162\1\153\2\uffff\1\60\1\uffff\1\0\3\uffff\1\156"
			+ "\1\60\1\uffff\4\0\1\60\2\uffff\1\0\1\uffff";
	static final String DFA11_maxS = "\1\172\1\157\1\156\1\146\1\150\1\145\1\162\1\157\1\141\1\75\2\uffff"
			+ "\1\uffff\1\uffff\1\156\1\162\1\uffff\1\55\3\uffff\2\75\3\uffff\1"
			+ "\170\1\145\2\uffff\1\172\1\146\1\144\1\163\1\172\1\145\1\164\1\145"
			+ "\1\154\1\164\1\154\4\uffff\1\144\1\172\1\uffff\7\uffff\1\71\2\uffff"
			+ "\2\172\1\145\1\uffff\1\156\1\165\1\141\2\172\1\154\1\172\1\uffff"
			+ "\1\uffff\1\uffff\1\145\2\uffff\2\172\1\162\1\153\2\uffff\1\172\1"
			+ "\uffff\1\uffff\3\uffff\1\156\1\172\1\uffff\4\uffff\1\172\2\uffff"
			+ "\1\uffff\1\uffff";
	static final String DFA11_acceptS = "\12\uffff\1\14\1\15\1\uffff\1\17\2\uffff\1\23\1\uffff\1\25\1\26"
			+ "\1\27\2\uffff\1\35\1\36\1\37\2\uffff\1\47\1\50\13\uffff\1\34\1\13"
			+ "\1\16\1\44\3\uffff\1\24\1\31\1\30\1\33\1\32\1\43\1\40\1\uffff\1"
			+ "\42\1\1\3\uffff\1\3\7\uffff\1\21\1\uffff\1\46\1\uffff\1\6\1\2\4"
			+ "\uffff\1\11\1\22\1\uffff\1\20\1\uffff\1\41\1\5\1\4\2\uffff\1\12"
			+ "\5\uffff\1\10\1\45\1\uffff\1\7";
	static final String DFA11_specialS = "\14\uffff\1\7\42\uffff\1\3\26\uffff\1\6\14\uffff\1\2\6\uffff\1"
			+ "\4\1\10\1\0\1\1\3\uffff\1\5\1\uffff}>";
	static final String[] DFA11_transitionS = {
			"\1\34\1\35\1\uffff\1\34\1\35\22\uffff\1\34\1\27\1\14\2\uffff"
					+ "\1\24\2\uffff\1\12\1\13\1\22\1\20\1\15\1\21\1\30\1\23\1\32\11"
					+ "\33\2\uffff\1\25\1\11\1\26\2\uffff\32\31\4\uffff\1\31\1\uffff"
					+ "\1\16\1\6\1\10\1\1\1\2\3\31\1\3\4\31\1\7\1\17\2\31\1\5\1\31"
					+ "\1\4\6\31",
			"\1\37\11\uffff\1\36",
			"\1\41\1\uffff\1\40",
			"\1\42",
			"\1\43",
			"\1\44",
			"\1\45",
			"\1\46\5\uffff\1\47",
			"\1\50",
			"\1\51",
			"",
			"",
			"\0\54",
			"",
			"\1\55",
			"\1\56",
			"",
			"\1\57",
			"",
			"",
			"",
			"\1\61",
			"\1\63",
			"",
			"",
			"",
			"\1\67\1\uffff\12\33\13\uffff\1\70\37\uffff\1\70\22\uffff\1"
					+ "\65", "\1\67\1\uffff\12\33\13\uffff\1\70\37\uffff\1\70",
			"", "", "\12\31\7\uffff\32\31\4\uffff\1\31\1\uffff\32\31", "\1\72",
			"\1\73", "\1\74",
			"\12\31\7\uffff\32\31\4\uffff\1\31\1\uffff\32\31", "\1\76",
			"\1\77", "\1\100", "\1\101", "\1\102", "\1\103", "", "", "", "",
			"\1\104", "\12\31\7\uffff\32\31\4\uffff\1\31\1\uffff\32\31",
			"\133\107\1\106\uffa4\107", "", "", "", "", "", "", "", "\12\110",
			"", "", "\12\31\7\uffff\32\31\4\uffff\1\31\1\uffff\32\31",
			"\12\31\7\uffff\32\31\4\uffff\1\31\1\uffff\32\31", "\1\113", "",
			"\1\114", "\1\115", "\1\116",
			"\12\31\7\uffff\32\31\4\uffff\1\31\1\uffff\32\31",
			"\12\31\7\uffff\32\31\4\uffff\1\31\1\uffff\32\31", "\1\121",
			"\12\31\7\uffff\32\31\4\uffff\1\31\1\uffff\32\31", "",
			"\133\107\1\123\uffa4\107", "",
			"\12\110\13\uffff\1\70\37\uffff\1\70", "", "",
			"\12\31\7\uffff\32\31\4\uffff\1\31\1\uffff\32\31",
			"\12\31\7\uffff\32\31\4\uffff\1\31\1\uffff\32\31", "\1\127",
			"\1\130", "", "",
			"\12\31\7\uffff\32\31\4\uffff\1\31\1\uffff\32\31", "",
			"\12\135\1\133\2\135\1\132\117\135\1\134\uffa2\135", "", "", "",
			"\1\136", "\12\31\7\uffff\32\31\4\uffff\1\31\1\uffff\32\31", "",
			"\12\140\1\133\ufff5\140", "\0\140",
			"\12\135\1\133\2\135\1\132\117\135\1\141\uffa2\135",
			"\12\135\1\133\2\135\1\132\117\135\1\134\uffa2\135",
			"\12\31\7\uffff\32\31\4\uffff\1\31\1\uffff\32\31", "", "",
			"\12\135\1\133\2\135\1\132\117\135\1\141\uffa2\135", "" };

	static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS);
	static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS);
	static final char[] DFA11_min = DFA
			.unpackEncodedStringToUnsignedChars(DFA11_minS);
	static final char[] DFA11_max = DFA
			.unpackEncodedStringToUnsignedChars(DFA11_maxS);
	static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS);
	static final short[] DFA11_special = DFA
			.unpackEncodedString(DFA11_specialS);
	static final short[][] DFA11_transition;

	static {
		int numStates = DFA11_transitionS.length;
		DFA11_transition = new short[numStates][];
		for (int i = 0; i < numStates; i++) {
			DFA11_transition[i] = DFA.unpackEncodedString(DFA11_transitionS[i]);
		}
	}

	class DFA11 extends DFA {

		public DFA11(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 11;
			this.eot = DFA11_eot;
			this.eof = DFA11_eof;
			this.min = DFA11_min;
			this.max = DFA11_max;
			this.accept = DFA11_accept;
			this.special = DFA11_special;
			this.transition = DFA11_transition;
		}

		public String getDescription() {
			return "1:1: Tokens : ( DO | END | IF | THEN | ELSE | DEF | RETURN | BREAK | NIL | CALL | ASSIGN | LPAREN | RPAREN | QUOT | COMMA | AND | OR | NOT | PLUS | MINUS | MUL | DIV | MOD | LT | LE | GT | GE | EQ | NEQ | CONCAT | NAME | INT | FLOAT | EXP | HEX | STRING | COMMENT | LINE_COMMENT | WS | NEWLINE );";
		}

		public int specialStateTransition(int s, IntStream _input)
				throws NoViableAltException {
			IntStream input = _input;
			int _s = s;
			switch (s) {
			case 0:
				int LA11_92 = input.LA(1);

				s = -1;
				if ((LA11_92 == ']')) {
					s = 97;
				}

				else if ((LA11_92 == '\r')) {
					s = 90;
				}

				else if ((LA11_92 == '\n')) {
					s = 91;
				}

				else if (((LA11_92 >= '\u0000' && LA11_92 <= '\t')
						|| (LA11_92 >= '\u000B' && LA11_92 <= '\f')
						|| (LA11_92 >= '\u000E' && LA11_92 <= '\\') || (LA11_92 >= '^' && LA11_92 <= '\uFFFF'))) {
					s = 93;
				}

				if (s >= 0)
					return s;
				break;
			case 1:
				int LA11_93 = input.LA(1);

				s = -1;
				if ((LA11_93 == '\r')) {
					s = 90;
				}

				else if ((LA11_93 == '\n')) {
					s = 91;
				}

				else if ((LA11_93 == ']')) {
					s = 92;
				}

				else if (((LA11_93 >= '\u0000' && LA11_93 <= '\t')
						|| (LA11_93 >= '\u000B' && LA11_93 <= '\f')
						|| (LA11_93 >= '\u000E' && LA11_93 <= '\\') || (LA11_93 >= '^' && LA11_93 <= '\uFFFF'))) {
					s = 93;
				}

				if (s >= 0)
					return s;
				break;
			case 2:
				int LA11_83 = input.LA(1);

				s = -1;
				if ((LA11_83 == '\r')) {
					s = 90;
				}

				else if ((LA11_83 == '\n')) {
					s = 91;
				}

				else if ((LA11_83 == ']')) {
					s = 92;
				}

				else if (((LA11_83 >= '\u0000' && LA11_83 <= '\t')
						|| (LA11_83 >= '\u000B' && LA11_83 <= '\f')
						|| (LA11_83 >= '\u000E' && LA11_83 <= '\\') || (LA11_83 >= '^' && LA11_83 <= '\uFFFF'))) {
					s = 93;
				}

				if (s >= 0)
					return s;
				break;
			case 3:
				int LA11_47 = input.LA(1);

				s = -1;
				if ((LA11_47 == '[')) {
					s = 70;
				}

				else if (((LA11_47 >= '\u0000' && LA11_47 <= 'Z') || (LA11_47 >= '\\' && LA11_47 <= '\uFFFF'))) {
					s = 71;
				}

				if (s >= 0)
					return s;
				break;
			case 4:
				int LA11_90 = input.LA(1);

				s = -1;
				if ((LA11_90 == '\n')) {
					s = 91;
				}

				else if (((LA11_90 >= '\u0000' && LA11_90 <= '\t') || (LA11_90 >= '\u000B' && LA11_90 <= '\uFFFF'))) {
					s = 96;
				}

				if (s >= 0)
					return s;
				break;
			case 5:
				int LA11_97 = input.LA(1);

				s = -1;
				if ((LA11_97 == ']')) {
					s = 97;
				}

				else if ((LA11_97 == '\r')) {
					s = 90;
				}

				else if ((LA11_97 == '\n')) {
					s = 91;
				}

				else if (((LA11_97 >= '\u0000' && LA11_97 <= '\t')
						|| (LA11_97 >= '\u000B' && LA11_97 <= '\f')
						|| (LA11_97 >= '\u000E' && LA11_97 <= '\\') || (LA11_97 >= '^' && LA11_97 <= '\uFFFF'))) {
					s = 93;
				}

				else
					s = 96;

				if (s >= 0)
					return s;
				break;
			case 6:
				int LA11_70 = input.LA(1);

				s = -1;
				if ((LA11_70 == '[')) {
					s = 83;
				}

				else if (((LA11_70 >= '\u0000' && LA11_70 <= 'Z') || (LA11_70 >= '\\' && LA11_70 <= '\uFFFF'))) {
					s = 71;
				}

				if (s >= 0)
					return s;
				break;
			case 7:
				int LA11_12 = input.LA(1);

				s = -1;
				if (((LA11_12 >= '\u0000' && LA11_12 <= '\uFFFF'))) {
					s = 44;
				}

				else
					s = 43;

				if (s >= 0)
					return s;
				break;
			case 8:
				int LA11_91 = input.LA(1);

				s = -1;
				if (((LA11_91 >= '\u0000' && LA11_91 <= '\uFFFF'))) {
					s = 96;
				}

				else
					s = 71;

				if (s >= 0)
					return s;
				break;
			}
			NoViableAltException nvae = new NoViableAltException(
					getDescription(), 11, _s, input);
			error(nvae);
			throw nvae;
		}
	}

}